package com.yantong.pay.yfz.domain.pay.domain.cashierPay;


import com.yantong.pay.yfz.domain.pay.domain.split.SplitInfo;

import java.util.List;

/**
 * @Author : Author
 * @Date : 2018/1/29 11:27
 * @Description :
 */
public class CashierRequest {
	private String version;

	public String getVersion() {
		return version;
	}

	public void setVersion(String version) {
		this.version = version;
	}

	private String outTradeNo;
	private String customerCode;
	private String terminalCode;
	private String clientIp;
	private OrderInfo orderInfo;
	private long payAmount;
	private String payCurrency;

	private String notifyUrl;
	private String redirectUrl;
	private String attachData;
	private String transactionStartTime;
	private String transactionEndTime;
	private String nonceStr;

	private Boolean needSplit;
	private List<SplitInfo> splitInfoList;
	private String splitNotifyUrl;
	private String splitAttachData;
	private String splitModel;
	private String splitMain;


	public String getSplitModel() {
		return splitModel;
	}

	public void setSplitModel(String splitModel) {
		this.splitModel = splitModel;
	}

	public String getSplitMain() {
		return splitMain;
	}

	public void setSplitMain(String splitMain) {
		this.splitMain = splitMain;
	}

	private Boolean noCreditCards;
	private String subAppId;
	private String payMethod;
	private String subCustomerCode;

	/**
	 * 分账关系序列号
	 */
	private String splitRelationId;

	public String getSplitRelationId() {
		return splitRelationId;
	}

	public void setSplitRelationId(String splitRelationId) {
		this.splitRelationId = splitRelationId;
	}

	public String getPayMethod() {
		return payMethod;
	}

	public void setPayMethod(String payMethod) {
		this.payMethod = payMethod;
	}

	public String getSubAppId() {
		return subAppId;
	}

	public void setSubAppId(String subAppId) {
		this.subAppId = subAppId;
	}

	public CashierRequest() {
	}

	public CashierRequest(String version, String outTradeNo, String customerCode, String clientIp, OrderInfo orderInfo,
			long payAmount, String payCurrency, String notifyUrl, String redirectUrl,
			String attachData, String transactionStartTime, String transactionEndTime,String nonceStr) {
		this.version = version;
		this.outTradeNo = outTradeNo;
		this.customerCode = customerCode;
		this.clientIp = clientIp;
		this.orderInfo = orderInfo;
		this.payAmount = payAmount;
		this.payCurrency = payCurrency;

		this.notifyUrl = notifyUrl;
		this.redirectUrl = redirectUrl;
		this.attachData = attachData;
		this.transactionStartTime = transactionStartTime;
		this.transactionEndTime = transactionEndTime;
		this.nonceStr = nonceStr;
	}


	public CashierRequest(String version,String outTradeNo, String customerCode, String clientIp, OrderInfo orderInfo, long payAmount,
			String payCurrency,  String notifyUrl, String redirectUrl, String attachData,
			String transactionStartTime, String transactionEndTime, String nonceStr, Boolean needSplit,
			List<SplitInfo> splitInfoList, String splitNotifyUrl, String splitAttachData) {
		this.version = version;
		this.outTradeNo = outTradeNo;
		this.customerCode = customerCode;
		this.clientIp = clientIp;
		this.orderInfo = orderInfo;
		this.payAmount = payAmount;
		this.payCurrency = payCurrency;

		this.notifyUrl = notifyUrl;
		this.redirectUrl = redirectUrl;
		this.attachData = attachData;
		this.transactionStartTime = transactionStartTime;
		this.transactionEndTime = transactionEndTime;
		this.nonceStr = nonceStr;
		this.needSplit = needSplit;
		this.splitInfoList = splitInfoList;
		this.splitNotifyUrl = splitNotifyUrl;
		this.splitAttachData = splitAttachData;
	}

	public String getOutTradeNo() {
		return outTradeNo;
	}

	public void setOutTradeNo(String outTradeNo) {
		this.outTradeNo = outTradeNo;
	}

	public String getCustomerCode() {
		return customerCode;
	}

	public void setCustomerCode(String customerCode) {
		this.customerCode = customerCode;
	}

	public String getTerminalCode() {
		return terminalCode;
	}

	public void setTerminalCode(String terminalCode) {
		this.terminalCode = terminalCode;
	}

	public String getClientIp() {
		return clientIp;
	}

	public void setClientIp(String clientIp) {
		this.clientIp = clientIp;
	}

	public OrderInfo getOrderInfo() {
		return orderInfo;
	}

	public void setOrderInfo(OrderInfo orderInfo) {
		this.orderInfo = orderInfo;
	}

	public long getPayAmount() {
		return payAmount;
	}

	public void setPayAmount(long payAmount) {
		this.payAmount = payAmount;
	}

	public String getPayCurrency() {
		return payCurrency;
	}

	public void setPayCurrency(String payCurrency) {
		this.payCurrency = payCurrency;
	}


	public String getNotifyUrl() {
		return notifyUrl;
	}

	public void setNotifyUrl(String notifyUrl) {
		this.notifyUrl = notifyUrl;
	}

	public String getRedirectUrl() {
		return redirectUrl;
	}

	public void setRedirectUrl(String redirectUrl) {
		this.redirectUrl = redirectUrl;
	}

	public String getAttachData() {
		return attachData;
	}

	public void setAttachData(String attachData) {
		this.attachData = attachData;
	}

	public String getTransactionStartTime() {
		return transactionStartTime;
	}

	public void setTransactionStartTime(String transactionStartTime) {
		this.transactionStartTime = transactionStartTime;
	}

	public String getTransactionEndTime() {
		return transactionEndTime;
	}

	public void setTransactionEndTime(String transactionEndTime) {
		this.transactionEndTime = transactionEndTime;
	}

	public String getNonceStr() {
		return nonceStr;
	}

	public void setNonceStr(String nonceStr) {
		this.nonceStr = nonceStr;
	}

	public Boolean getNeedSplit() {
		return needSplit;
	}

	public void setNeedSplit(Boolean needSplit) {
		this.needSplit = needSplit;
	}

	public List<SplitInfo> getSplitInfoList() {
		return splitInfoList;
	}

	public void setSplitInfoList(List<SplitInfo> splitInfoList) {
		this.splitInfoList = splitInfoList;
	}

	public String getSplitNotifyUrl() {
		return splitNotifyUrl;
	}

	public void setSplitNotifyUrl(String splitNotifyUrl) {
		this.splitNotifyUrl = splitNotifyUrl;
	}

	public String getSplitAttachData() {
		return splitAttachData;
	}

	public void setSplitAttachData(String splitAttachData) {
		this.splitAttachData = splitAttachData;
	}



	public Boolean getNoCreditCards() {
		return noCreditCards;
	}

	public void setNoCreditCards(Boolean noCreditCards) {
		this.noCreditCards = noCreditCards;
	}

	public String getSubCustomerCode() {
		return subCustomerCode;
	}

	public void setSubCustomerCode(String subCustomerCode) {
		this.subCustomerCode = subCustomerCode;
	}

}
